import { BrowserWindow, ipcMain, shell } from 'electron'
import { saveClientConfig, getClientConfig } from './storage'

export const bindOtherHandleEvent = ({ mainWindow }) => {
  // 最小化
  ipcMain.on('window-min', () => {
    mainWindow.minimize()
  })

  // 最大化
  ipcMain.on('window-max', () => {
    if (mainWindow.isMaximized()) {
      mainWindow.restore()
    } else {
      mainWindow.maximize()
    }
  })

  // 关闭
  ipcMain.on('window-close', () => {
    mainWindow.close()
  })

  // 使用默认浏览器打开指定url
  ipcMain.on('openUrl', (event, url) => {
    shell.openPath(url)
  })

  // 保存客户端配置
  ipcMain.handle('saveClientConfig', async (event, config) => {
    const res = await saveClientConfig(config)
    return res
  })

  // 获取客户端配置
  ipcMain.handle('getClientConfig', () => {
    return getClientConfig()
  })
}
